---
title: 貢献ガイド
description: 貢献ガイド
---

# FastExcel への貢献

FastExcel はコミュニティのすべてのユーザーと開発者を歓迎し、貢献者になっていただけます。問題の報告、ドキュメントの改善、コードの提出、技術サポートの提供など、あなたの参加は FastExcel をより良くするのに役立ちます。

---

## 問題の報告

FastExcel を使用する際にフィードバックを提供することをお勧めします。問題は [NEW ISSUE](https://github.com/CodePhiliaX/fastexcel/issues/new/choose) から報告できます。

### 高品質な問題報告

コミュニケーション効率を向上させるために、問題を報告する前に次のことをしてください：  
1. **既存の問題を検索**：問題が既に報告されているかどうかを確認してください。存在する場合は、新しい問題を作成するのではなく、既存の問題に詳細情報をコメントで追加してください。  
2. **問題テンプレートの使用**：問題テンプレートは [ISSUE TEMPLATE](./.github/ISSUE_TEMPLATE) にあります。テンプレートの要件に従って記入して、問題の説明が正確かつ完全であることを確認してください。

以下の場合は新しい問題を提出するのが適しています：
- バグの報告
- 新機能の要求
- パフォーマンスの問題
- 機能提案または設計
- ドキュメントの改善
- テストカバレッジの最適化
- 技術サポートが必要
- プロジェクトに関連するその他の問題

> **注意**：パスワード、キー、サーバーアドレス、個人データなどの機密情報を問題に含めないでください。

---

## コードとドキュメントの貢献

FastExcel のすべての改善は Pull Request (PR) を通じて行われます。バグ修正、コードの最適化、機能の追加、ドキュメントの改善など、どんな貢献も大歓迎です！

### 貢献できる領域
- 誤字の修正
- バグ修正
- 冗長なコードの削除
- テストケースの追加
- 機能の強化
- コードの可読性向上のためのコメントの追加
- コード構造の最適化
- ドキュメントの改善または補完

**原則**：**プロジェクトの改善に役立つすべての PR は賞賛に値します！**

PR を提出する前に、次のガイドラインに精通してください：
1. [ワークスペースの準備](#ワークスペースの準備)
2. [ブランチの定義](#ブランチの定義)
3. [コミットルール](#コミットルール)
4. [PR の説明](#prの説明)

---

### ワークスペースの準備

GitHub アカウントを登録し、ローカル開発環境を設定するために以下の手順を実行してください：
1. **リポジトリをフォーク**：FastExcel の [GitHub ページ](https://github.com/CodePhiliaX/fastexcel) で `Fork` ボタンをクリックし、プロジェクトをあなたの GitHub アカウントにコピーします。例：`https://github.com/<your-username>/fastexcel`。
2. **コードをクローン**：以下のコマンドを実行してフォークしたプロジェクトをローカルにクローンします：
   ```bash
   git clone git@github.com:<your-username>/fastexcel.git
   ```
3. **アップストリームリポジトリの設定**：公式リポジトリを `upstream` として設定して、更新を同期しやすくします：
   ```bash
   git remote add upstream git@github.com:CodePhiliaX/fastexcel.git
   git remote set-url --push upstream no-pushing
   ```
   `git remote -v` を実行して設定が正しいか確認できます。

---

### ブランチの定義

FastExcel では、すべての貢献は `main` 開発ブランチを基にする必要があります。さらに、次のブランチタイプがあります：
- **リリースブランチ**：バージョンリリースに使用されます（例：`0.6.0`, `0.6.1`）。
- **機能ブランチ**：大規模な機能の開発に使用されます。
- **ホットフィックスブランチ**：重要なバグ修正に使用されます。

PR を提出する際は、変更が `main` ブランチに基づいていることを確認してください。

---

### コミットルール

#### コミットメッセージ
コミットメッセージが明確で記述的であることを確認し、次の形式に従ってください：
- **docs**: ドキュメントの更新、例：`docs: PR 提出ガイドの更新`。
- **feature**: 新機能、例：`feature: 並列書き込みのサポート`。
- **bugfix**: バグ修正、例：`bugfix: Null ポインタ例外の修正`。
- **refactor**: コードのリファクタリング、例：`refactor: データ処理ロジックの最適化`。
- **test**: テストの追加または改善、例：`test: ユニットテストの追加`。

次のような曖昧なコミットメッセージは推奨されません：  
- ~~問題を修正~~  
- ~~コードを更新~~  

支援が必要な場合は、[Git コミットメッセージの書き方](http://chris.beams.io/posts/git-commit/) を参照してください。

#### コミット内容
1回のコミットには完全でレビュー可能な変更が含まれていることを確認してください：
- 過度に大きな変更をコミットしないでください。
- 各コミットが独立しており、CI テストで合格することを確認してください。

また、コミット時に正しい Git ユーザー情報が設定されていることを確認してください：
```bash
git config --get user.name
git config --get user.email
```

---

### PR の説明

レビュワーが PR の内容と目的を迅速に理解できるように、[PR テンプレート](./.github/PULL_REQUEST_TEMPLATE.md) を使用してください。詳細な説明はコードレビューの効率を大幅に向上させます。

---

## テストケースの貢献

すべてのテストケースの貢献は歓迎されますが、特にユニットテストが推奨されます。対応するモジュールの `test` ディレクトリに `XXXTest.java` ファイルを作成することをお勧めし、JUnit5 フレームワークを使用することを推奨します。

---

## その他の参加方法

コードを直接貢献する以外にも、以下の方法でも FastExcel を貴重なサポートできます：
- 他のユーザーの質問に回答する。
- 他人の PR をレビューする。
- 改善提案をする。
- 技術ブログを書いて FastExcel を宣伝する。
- コミュニティでプロジェクトに関連する知識を共有する。

---

## コードスタイル

コードの記述には [Alibaba Java コーディングガイドライン](https://alibaba.github.io/Alibaba-Java-Coding-Guidelines/) に従ってください。  
コードスタイルをチェックするのに以下のプラグインをインストールすることができます（必須ではありません）：
- **IntelliJ IDEA プラグイン**：[インストールガイド](https://github.com/alibaba/p3c/blob/master/idea-plugin/README.md)
- **Eclipse プラグイン**：[インストールガイド](https://github.com/alibaba/p3c/blob/master/eclipse-plugin/README.md)

---

**最後に、FastExcel へのご支援に感謝します！あなたのすべての助けは私たちが前進する力となります。**